Most commercially available software products undergo a continuous revision process to repair or upgrade features and functions. Each revision of a software product or component may require the addition of new files and/or the replacement of existing files with files of newer versions. A patch is a piece of software designed to fix a problem with a computer program, update the computer program, or update the computer program's supporting data. This includes fixing security vulnerabilities and other bugs, and improving the usability or performance. Patches for proprietary software modify the program executable, which causes a computer to perform indicated tasks according to encoded instructions. The patch modifies the program executable by modifying a binary file of the program executable or by completely replacing the binary file of the program executable. Patches can also circulate in the form of source code modifications. In these cases, the patches consist of textual differences between two source code files. Patch management is the process of using a strategy and plan to determine which patches should be applied to a system at a specified time.
Enterprise systems are large-scale application software packages that support business processes, information flows, reporting, and data analytics in complex organizations. A patch management system, such as Big Fix®, is used to ensure standardized methods and procedures are used for efficient and prompt handling of all changes to control IT infrastructure in order to minimize the number and impact of any related incidents upon service. The patch management system includes a server that hosts a patch management program and one or more client computers on which a patch management client program is installed. The patch management program periodically sends patch requests to the patch management client programs. Patch requests include instructions to perform a management or reporting action. Patch requests can be programmed to target specific groups of devices to perform the actions.
Upon receipt of a patch request, the patch management client program determines if a task described by the patch request applies to the client computer it is managing. If the task applies, patch management client program sends an indication to the patch management program. The patch management program deploys the patch to the client computer.